|
''Unifying Theories of Programming'' (UTP) in computer science deals with program semantics. It shows how denotational semantics, operational semantics and algebraic semantics can be combined in a unified framework for the formal specification, design and implementation of programs and computer systems. The book of this title by C.A.R. Hoare and He Jifeng was published in the Prentice Hall International Series in Computer Science in 1998 and is now freely available on the web. ==Theories== The semantic foundation of the UTP is the first-order predicate calculus, augmented with fixed point constructs from second-order logic. Following the tradition of Eric Hehner, programs are predicates in the UTP, and there is no distinction between programs and specifications at the semantic level. In the words of Hoare: A computer program is identified with the strongest predicate describing every relevant observation that can be made of the behaviour of a computer executing that program.〔C.A.R. Hoare, Programming: Sorcery or science? IEEE Software, 1(2): 5–16, April 1984. ISSN 0740-7459. doi: 10.1109/MS.1984.234042.〕 In UTP parlance, a ''theory'' is a model of a particular programming paradigm. A UTP theory is composed of three ingredients: * an ''alphabet'', which is a set of variable names denoting the attributes of the paradigm that can be observed by an external entity; * a ''signature'', which is the set of programming language constructs intrinsic to the paradigm; and * a collection of ''healthiness conditions'', which define the space of programs that fit within the paradigm. These healthiness conditions are typically expressed as monotonic idempotent predicate transformers. Program refinement is an important concept in the UTP. A program is refined by if and only if every observation that can be made of is also an observation of . The definition of refinement is common across UTP theories: where denotes〔Edsger W. Dijkstra and Carel S. Scholten. Predicate calculus and program semantics. Texts and Monographs in Computer Science. Springer-Verlag New York, Inc., New York, NY, USA, 1990. ISBN 0-387-96957-8.〕 the universal closure of all variables in the alphabet. 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「Unifying Theories of Programming」の詳細全文を読む スポンサード リンク
|